#include <cstdio>
int book[15][15],n;
int step[4][2]={{-1,0},{0,-1},{0,1},{1,0}};
//2 U 4 L 6 R 8 D
struct snake{
    int l,n[110][2]={0},r;
    int vis[12][12]={0};
    int score;
}s;
int main(){
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            scanf("%d",&book[i][j]);
        }
    }
    char tmp[105]={0};
    scanf("%s",tmp);
    scanf("%d%d",&s.n[0][0],&s.n[0][1]);
    s.score=book[s.n[0][0]][s.n[0][1]];
    s.vis[s.n[0][0]][s.n[0][1]]=1;
    s.l=s.r=0;
    //s.r++;
    for(char *p=tmp;*p;p++){
        int tx,ty,cnt=0;
        int t=(*p)-'0';
        if(t>8||t<2)continue;
        cnt=(t>>1)-1;
        tx=s.n[s.r][0]+step[cnt][0];
        ty=s.n[s.r][1]+step[cnt][1];
        printf("%d %d %d\n",cnt,tx,ty);
        if(s.vis[tx][ty]||tx<0||ty<0||tx>=n||ty>=n)break;
        s.vis[tx][ty]=1;
        if(book[tx][ty]){
            s.score+=book[tx][ty];
            s.r++;
            s.n[s.r][0]=tx;
            s.n[s.r][1]=ty;
        }else{
            s.r++;
            s.n[s.r][0]=tx;
            s.n[s.r][1]=ty;
            s.vis[s.n[s.l][0]][s.n[s.l][1]]=0;
            s.l++;
        }
    }
    printf("%d %d\n%d %d",s.n[s.r][0],s.n[s.r][1],(s.r-s.l+1),s.score);
    return 0;
}